Not applicable.
Not applicable.
1. Field of the Invention
The present invention generally relates to computer systems with English and non-English language capability. More particularly, the invention relates to an international language module in a ROM device that is used to provide instructions and information on a display to a user to configure the computer.
2. Background of the Invention
Computer manufacturers, such as Compaq Computer Corp., manufacture personal computers that are used all over the world by users who speak a variety of languages. Virtually any language in the world could be the native or preferred language of a computer user. However, there are more than ten languages that are spoken by the majority of all computer users. Such languages include English, German, Finnish, French, Italian, Portuguese, Spanish, Danish, Dutch, Swedish, Norwegian. The present invention addresses the needs of non-English speakers or users that may speak English but prefer a non-English language to use a computer in their preferred language.
When a user turns on a computer for the first time, the computer typically performs a setup routine. The purpose of the setup routine is to configure the computer and the computer""s operating system to the particularities or preferences of the user. For example, the setup routine will determine the type of keyboard (U.S., European, etc.) that has been connected to the chassis, the type of monitor, the type of modem, amount of system memory, configure the interrupts, setup the input/output (I/O) ports, and set various other parameters. Further, the setup routine can be re-run during a subsequent boot up, or other event, by pressing a predefined key or key sequence such as  less than F10 greater than  to change or verify the configuration of the computer system.
The setup routine of early personal computers was implemented as an executable file stored on a hard disk drive. Specifically, disk-based setup was stored in an xe2x80x9cinactivexe2x80x9d partition on the hard disk. An inactive partition is a portion of the disk drive that is generally inaccessible to the user during normal operation, but can be accessed by invoking a particular procedure such as pressing  less than F10 greater than  during boot up. The inactive partition also has been referred to as a xe2x80x9chiddenxe2x80x9d partition to denote its generally inaccessible nature. Many computer users did not favor the use of hidden partitions, particularly hidden partition for storing the setup routine. These users were concerned about not having full control over the hidden partition, as they had with the active partitions.
An additional concern users had with disk-based setup was the amount of disk space the setup routine occupied. The setup routine occupied disk space that otherwise could have been used for storing data and applications. Initially, disk-based setup routines occupied about 4 megabytes (MB), but recently setup routines have grown to occupy upwards of 20 MB of disk space. Although hard drive capacity also has grown, it still is desirable to free up as much space as possible for data and applications.
At least some computer manufacturers have replaced the hard disk implementation for setup with a ROM-based setup. A xe2x80x9cROMxe2x80x9d and is a Read Only Memory device that has the capacity to store a certain number of bytes of data or executable code. Although the storage capacity varies from ROM to ROM, ROM devices typically are capable of storing much less information than hard disks or other types of fixed drives (e.g. CD ROMs). ROM devices generally have a capacity of about 128 Kbytes to 1 Mbytes.
Most personal computers include at least one ROM device referred to as the xe2x80x9cBIOS ROM.xe2x80x9d BIOS stands for Basic Input/Output System and refers to a set of executable routines that the computer""s microprocessor can execute to provide low level control over various input/output devices such as hard disk drives, CD ROM drives, keyboards, mouse, and floppy disk drives. The BIOS code generally is permanently stored in the BIOS ROM, although electrically erasable programmable ROMs (EEPROMs) can be used to provide reprogrammable storage for BIOS or other information. Reprogramming a ROM such as an EEPROM usually is referred to as xe2x80x9cflashingxe2x80x9d the ROM. Copending patent application entitled xe2x80x9cMethod of Flash Programming or Reading a ROM of a Computer System Independently of its Operating System,xe2x80x9d U.S. Ser. No. 09/070,823, filed Apr. 30, 1998 discloses an exemplary method for flashing a ROM. The term xe2x80x9cROMxe2x80x9d is used throughout this disclosure to refer to any type of non-volatile memory device (i.e., a memory device whose contents remain intact even after power is removed from the device). As such, the term ROM includes ROMs, programmable ROMs (PROMs), EEPROMs, battery backed-up RAM (random access memory) and other non-volatile devices.
The BIOS ROM also contains initialization routines that are executed to boot the computer. The microprocessor executes these initialization routines which test and initialize system memory and various other devices in the computer system. When the boot up process begins, the microprocessor executes the initialization routines directly from the BIOS ROM. That is, each instruction is fetched from the ROM and provided to the microprocessor for execution. In the latter stages of the boot up process, after the system memory is initialized, the BIOS routines are copied to the main system memory (RAM) and are executed from system memory instead of from the BIOS ROM.
Once invoked, the ROM-based setup routine generally requires interaction between the user and the computer. The user, for example, may be prompted to specify, or at least verify, the type of hard drive, amount of memory, and other information. In so doing, the user must read instructions provided on the video monitor which is connected to the computer. Because, as noted above, computers are used by people that potentially speak a variety of languages, it is desirable for the displayed text to be shown in the language most familiar to, or preferred by, the user. Accordingly, it is desirable for the ROM-based setup text to be available in various international languages, besides English. In this disclosure, languages other than English are referred to as international languages.
Several important considerations for computer designers include cost and power. It is preferable for computers to be as low cost as possible and consume as little power as possible. Accordingly, it is preferable for the ROM to be smaller (i.e., have a smaller storage capacity) rather than larger. Smaller ROMs generally are less expensive and consume less power than larger ROMs. The desire for ROM""s to be capable of storing all of the desired international languages generally prompts system designers to use undesirably larger and more power hungry and costly ROMs than would otherwise be necessary.
Because of the limited amount of storage capacity of a typical BIOS ROM, it is not desirable, and, in fact, may not be possible to store on the ROM the 12 most widely spoken languages. Nevertheless, there is a need to have a computer system that includes a setup routine whose text can be displayed in any one of a variety of international languages. Despite the advantages such a computer system would offer, to date no such system is known to exist.
The deficiencies of the prior art described above are solved in large part by a computer system that includes a system ROM with at least two sets of character strings, one set in English and the other sets in non-English languages. In a preferred embodiment, the system ROM includes only two sets of character stringsxe2x80x94one English and the other non-English. Generally, each set of character strings includes characters, words and phrases that are translations of corresponding character strings in the other sets. Some character strings may be symbols such as punctuation marks (comma, apostrophe, period, etc.) which preferably are included only in the English set of character strings. Further, the ROM preferably is flashable to permit the character strings to be updated as desired.
The non-English set of character strings is included as part of a xe2x80x9clanguage modulexe2x80x9d flashed into the system ROM. The character strings preferably are used to provide information and instructions to a user during system setup. Setup normally is run when the computer is powered on by the user for the first time, and permits the user to configure the computer system. Setup also can be run at other times by, for example, pressing a hot key such as  less than F10 greater than  during boot up.
In accordance with the preferred embodiment, when setup is run, the computer system determines whether a valid international language module is included in the system ROM. If a valid language module is included, the user is prompted to select either English or whatever international language is provided in the language module. Based on the user""s selection for a language preference, additional information and instructions during setup are shown on the computer""s display in the language selected by the user.
If the language module is selected, the computer""s CPU searches the language module first for a character string that the setup program requests to be displayed. If that character string is not present in the language module, the setup program searches the English character string sets for a corresponding string and uses that string if present. If neither the non-English nor the English string is present, the setup program displays a default error message.
By providing the system ROM with at least two sets of character strings representing at least two different languages, the problems described above regarding conventional computer systems are mitigated or avoided altogether. The various characteristics described above, as well as other features, will be readily apparent to those skilled in the art upon reading the following detailed description of the preferred embodiments of the invention, and by referring to the accompanying drawings.